#include<iostream>
#include<algorithm>
#include<cstring> 
using namespace std; 
const int N=1100;
int a[N];
int f[N];

int main(){
	int n,m;
	while(cin>>n,n){
	
		int maxn=0;
		int p;
		for(int i=0;i<n;i++){
			cin>>a[i];
		    if(a[i]>maxn){
		    	p=i;
		    	maxn=a[i];
			}
		}
		cin>>m;
		if(m<5){
			cout<<m<<endl;
		}
		else{
			
            memset(f,0,sizeof f);
			a[p]=0;
			for(int i=0;i<n;i++){
				if(i==p)continue;
				for(int j=m-5;j>=a[i];j--){
					f[j]=max(f[j],f[j-a[i]]+a[i]);
				}
			}
			cout<<m-f[m-5]-maxn<<endl;
			
		}
		
		
		
	}
	
	return 0;
}
